/**
 * utf8 转换为字符串
 * @param {String} szInput utf8 
 * @returns 
 */
export default function utfToString(szInput) {
  var x, wch, wch1, wch2, uch = "", szRet = "";
  for (x = 0; x < szInput.length; x++) {
    if (szInput.charAt(x) == "%") {
      wch = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
      if (!wch) { break; }
      if (!(wch & 0x80)) {
        wch = wch;
      } else if (!(wch & 0x20)) {
        x++;
        wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
        wch = (wch & 0x1F) << 6;
        wch1 = wch1 & 0x3F;
        wch = wch + wch1;
      } else {
        x++;
        wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
        x++;
        wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
        wch = (wch & 0x0F) << 12;
        wch1 = (wch1 & 0x3F) << 6;
        wch2 = (wch2 & 0x3F);
        wch = wch + wch1 + wch2;
      }
      szRet += String.fromCharCode(wch);
    } else {
      szRet += szInput.charAt(x);
    }
  }
  return (szRet);
}